-- *****************************************************************
-- REDSTONE-DS1-MIB
--
-- Redstone Communications Inc. Enterprise MIB
-- DS1 MIB
--
-- Copyright 1998 Redstone Communications, Incorporated.
-- All Rights Reserved.
-- *****************************************************************

REDSTONE-DS1-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32
                FROM SNMPv2-SMI

    ifIndex
        FROM IF-MIB

        rsMgmt
                FROM REDSTONE-SMI

    RsTimeSlotMap
        FROM REDSTONE-TC;


rsDs1MIB  MODULE-IDENTITY
        LAST-UPDATED "9906170000Z"
        ORGANIZATION "Redstone Communications, Inc."
        CONTACT-INFO
        "
        Redstone Communications, Inc.
                5 Carlisle Road
        Westford MA 01886
        USA
        Tel:    +1-978-692-1999
                Email:  mib@redstonecom.com
        "
        DESCRIPTION
                "The T1 MIB for the 
                Redstone Communications Inc. enterprise."
        REVISION      "9906170000Z"
        DESCRIPTION
                "Updated version of this MIB module."
        ::= { rsMgmt 5 }

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Textual conventions
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No textual conventions are defined in this MIB



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Managed objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsDs1Objects     OBJECT IDENTIFIER ::= { rsDs1MIB 1 }

-- 
-- This MIB contains managed objects for DS1/E1 interfaces.
-- Management objects are provided to supplement those
-- found in RFC1406 DS1/E1 MIB.
--



-- //////////////////////////////////////////////////////////////////////
--
-- DS1 Interfaces
--
-- //////////////////////////////////////////////////////////////////////

--
-- The DS1 Configuration Table
--

rsDsx1ConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF RsDsx1ConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains entries for DS1/E1 interfaces present in the system."
    ::= { rsDs1Objects 1 }

rsDsx1ConfigEntry OBJECT-TYPE
    SYNTAX      RsDsx1ConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each entry describes the characteristics of an DS1/E1 interface."
    INDEX   { ifIndex }
    ::= { rsDsx1ConfigTable 1 }

RsDsx1ConfigEntry ::= SEQUENCE {
    rsDsx1TimeSlotMap
        RsTimeSlotMap,
    rsDsx1Ds1ChannelNumber
        Integer32,
        rsDsx1Capabilities
                Integer32,
        rsDsx1Mode
                INTEGER,
        rsDsx1LineBuildOutCapabilities
                Integer32,
        rsDsx1LineBuildOutType
                INTEGER,
        rsDsx1LineAttenuation
                INTEGER,
        rsDsx1LineLength
                Integer32
    }

rsDsx1TimeSlotMap OBJECT-TYPE
    SYNTAX      RsTimeSlotMap
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A bitmap representing the timeslots on the DS1/E1 interface
        that have been allocated for service. 

        For channelized DS1/E1, set bits reflect the union of timeslot
        allocations across all fractional arrangements operating 
        over this DS1/E1 interface.

        For unchannelized DS1/E1, all relevant timeslot bits will be set."
    ::= { rsDsx1ConfigEntry 1 }

rsDsx1Ds1ChannelNumber  OBJECT-TYPE
    SYNTAX      Integer32 (0..28)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This variable represents the channel number of
        the DS1/E1 on its parent DS3/E3.  A value of 0 
        indicates this DS1/E1 does not have a parent DS3/E3."
    ::= { rsDsx1ConfigEntry 2 }

rsDsx1Capabilities  OBJECT-TYPE
    SYNTAX      Integer32 (0..7)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value which indicates the set of capabilities of
                the DS1/E1 interface.

        The value is a sum.  This sum initially takes the value
                zero, Then, for each capability, C, in the range 1 through
                3, that this interface supports, 2 raised to (C - 1) is
                added to the sum.  For example, an interface which is only
                E1 capable would have a value of 2 (2^(2-1)).  In contrast, an
                interface which is both T1 and J1 capable would have a
                value of 5 (2^(1-1) + 2^(3-1)).  The values for DS1/E1
                interface capabilities are as follows:

                capability  function
                                1               T1
                                2               E1
                                3               J1"
    ::= { rsDsx1ConfigEntry 3 }

rsDsx1Mode  OBJECT-TYPE
    SYNTAX      INTEGER {
                                        t1(1),
                                        e1(2),
                                        j1(3)
                                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable represents the DS1/E1 interface mode.  The
                value of the rsDsx1Capabilities object for the DS1/E1
                interface indicates the valid set of values for this object."
    ::= { rsDsx1ConfigEntry 4 }

rsDsx1LineBuildOutCapabilities  OBJECT-TYPE
    SYNTAX      Integer32 (0..3)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A value which indicates the set of line build out 
                capabilities of the DS1/E1 interface.

        The value is a sum.  This sum initially takes the value
                zero, Then, for each line build out capability, C, in
                the range 1 or 2, that this interface supports, 2 raised
                to (C - 1) is added to the sum.  For example, an interface
                which is only short haul capable would have a value of
                2 (2^(2-1)).  In contrast, an interface which is both short
                haul and long haul capable would have a value of 3 
                (2^(1-1) + 2^(2-1)).  The values for DS1/E1 interface
                line build out capabilities are as follows:

                line build out capability       function
                                1                                               short haul
                                2                                               long haul"
    ::= { rsDsx1ConfigEntry 5 }

rsDsx1LineBuildOutType  OBJECT-TYPE
    SYNTAX      INTEGER {
                                        shortHaul(1),
                                        longHaul(2),
                                        notSupported(3)
                                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable represents the configured line build
                out type of the DS1/E1 interface.    The value of the
                rsDsx1LineBuildOutCapabilities object for the DS1/E1
                interface indicates the valid set of values for this
                object."
    ::= { rsDsx1ConfigEntry 6 }

rsDsx1LineAttenuation  OBJECT-TYPE
    SYNTAX      INTEGER {
                                        db0(1),
                                        dbMinus7Point5(2),
                                        dbMinus15(3),
                                        dbMinus22Point5(4),
                                        notSupported(5)
                                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable represents the configured line attenuation
                of the DS1/E1 interface.  Note that the value of this
                object only takes effect when the value of the
                rsDsx1LineBuildOutType for the DS1/E1 interface is set
                to longHaul(2)."
    ::= { rsDsx1ConfigEntry 7 }

rsDsx1LineLength  OBJECT-TYPE
    SYNTAX      Integer32 (0..64000)
        UNITS           "meters"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable represents the length of the DS1/E1 line
                in meters.  Note that the value of this object only takes
                effect when the value of the rsDsx1LineBuildOutType for
                the DS1/E1 interface is set to shortHaul(1)."
    ::= { rsDsx1ConfigEntry 8 }


-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notification control objects
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- rsDs1TrapControl      OBJECT IDENTIFIER ::= { rsDs1MIB 2 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Notifications
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- No notifications are defined in this MIB. Placeholder follows.

-- The following two OBJECT IDENTIFIERS are used to define SNMPv2 
-- Notifications that are easily translated into SNMPv1 Traps.

-- rsDs1Traps            OBJECT IDENTIFIER ::= { rsDs1MIB 3 }
-- rsDs1TrapPrefix       OBJECT IDENTIFIER ::= { rsDs1Traps 0 }



-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Conformance information
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rsDs1Conformance OBJECT IDENTIFIER ::= { rsDs1MIB 4 }
rsDs1Compliances OBJECT IDENTIFIER ::= { rsDs1Conformance 1 }
rsDs1Groups      OBJECT IDENTIFIER ::= { rsDs1Conformance 2 }

-- compliance statements

rsDs1Compliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Redstone DS1/E1 MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { rsDs1Group }
        ::= { rsDs1Compliances 1 }

-- units of conformance

rsDs1Group OBJECT-GROUP
        OBJECTS {
        rsDsx1TimeSlotMap,
        rsDsx1Ds1ChannelNumber
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing management of DS1/E1 interfaces
                in a Redstone product."
    ::= { rsDs1Groups 1 }

END